Modern computing systems store vast amounts of data, and as a consequence it has become increasingly important to provide users with effective ways to locate information that is relevant to their interests. One area in which large amounts of information are involved is social networking Social networking systems allow users to designate other users as friends (or otherwise connect to or form relationships with other users), contribute and interact with media items, use applications, join groups, list and confirm attendance at events, create pages, and perform other tasks that facilitate social interaction. Since each of these tasks may involve various data objects, social networking systems are good examples of the demand for systems that help users locate relevant information from within a large set of information tracked or otherwise used by the system.
Although it might be helpful to customize a search for a user's particular needs, the search task can consume a significant amount of computer power and have a noticeable latency between receiving the search query and presenting the search results. The problem of latency becomes vital particularly for incremental search. Incremental search (also referred to as typeahead, incremental find, real-time suggestions, autocomplete, search as you type, filter/find as you type, inline search, instant search, or word wheeling) is a user interaction interface method capable of progressively searching for and filtering through data. As a user of an incremental search interface types text, one or more possible matches for the typed text are found and immediately presented to the user. This immediate feedback mechanism may allow the user to choose a closely related option from the presented list of suggested results, before typing the entire word or phrase they were searching. When there is a noticeable latency between the user typing the text and the interface presenting the search result list, the user experience with the incremental search interface deteriorates.